{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from datetime import datetime as datetime\n",
    "d_parser = lambda x:datetime.strptime(x, '%Y-%m-%d %I-%p')\n",
    "df = pd.read_csv('./data/ETH_1h.csv', parse_dates=['Date'], date_parser=d_parser )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.loc[0,'Date'].day_name()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['Date'].dt.day_name()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['DayOfWeek']=df['Date'].dt.day_name()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date</th>\n",
       "      <th>Symbol</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>DayOfWeek</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1749</th>\n",
       "      <td>2019-12-31 23:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>128.33</td>\n",
       "      <td>128.69</td>\n",
       "      <td>128.14</td>\n",
       "      <td>128.54</td>\n",
       "      <td>440678.91</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1750</th>\n",
       "      <td>2019-12-31 22:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>128.38</td>\n",
       "      <td>128.69</td>\n",
       "      <td>127.95</td>\n",
       "      <td>128.33</td>\n",
       "      <td>554646.02</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1751</th>\n",
       "      <td>2019-12-31 21:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>127.86</td>\n",
       "      <td>128.43</td>\n",
       "      <td>127.72</td>\n",
       "      <td>128.38</td>\n",
       "      <td>350155.69</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1752</th>\n",
       "      <td>2019-12-31 20:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>127.84</td>\n",
       "      <td>128.34</td>\n",
       "      <td>127.71</td>\n",
       "      <td>127.86</td>\n",
       "      <td>428183.38</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1753</th>\n",
       "      <td>2019-12-31 19:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>128.69</td>\n",
       "      <td>128.69</td>\n",
       "      <td>127.60</td>\n",
       "      <td>127.84</td>\n",
       "      <td>1169847.84</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10504</th>\n",
       "      <td>2019-01-01 04:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>130.75</td>\n",
       "      <td>133.96</td>\n",
       "      <td>130.74</td>\n",
       "      <td>131.96</td>\n",
       "      <td>2791135.37</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10505</th>\n",
       "      <td>2019-01-01 03:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>130.06</td>\n",
       "      <td>130.79</td>\n",
       "      <td>130.06</td>\n",
       "      <td>130.75</td>\n",
       "      <td>503732.63</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10506</th>\n",
       "      <td>2019-01-01 02:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>130.79</td>\n",
       "      <td>130.88</td>\n",
       "      <td>129.55</td>\n",
       "      <td>130.06</td>\n",
       "      <td>838183.43</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10507</th>\n",
       "      <td>2019-01-01 01:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>131.62</td>\n",
       "      <td>131.62</td>\n",
       "      <td>130.77</td>\n",
       "      <td>130.79</td>\n",
       "      <td>434917.99</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10508</th>\n",
       "      <td>2019-01-01 00:00:00</td>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>130.53</td>\n",
       "      <td>131.91</td>\n",
       "      <td>130.48</td>\n",
       "      <td>131.62</td>\n",
       "      <td>1067136.21</td>\n",
       "      <td>Tuesday</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8760 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     Date  Symbol    Open    High     Low   Close      Volume  \\\n",
       "1749  2019-12-31 23:00:00  ETHUSD  128.33  128.69  128.14  128.54   440678.91   \n",
       "1750  2019-12-31 22:00:00  ETHUSD  128.38  128.69  127.95  128.33   554646.02   \n",
       "1751  2019-12-31 21:00:00  ETHUSD  127.86  128.43  127.72  128.38   350155.69   \n",
       "1752  2019-12-31 20:00:00  ETHUSD  127.84  128.34  127.71  127.86   428183.38   \n",
       "1753  2019-12-31 19:00:00  ETHUSD  128.69  128.69  127.60  127.84  1169847.84   \n",
       "...                   ...     ...     ...     ...     ...     ...         ...   \n",
       "10504 2019-01-01 04:00:00  ETHUSD  130.75  133.96  130.74  131.96  2791135.37   \n",
       "10505 2019-01-01 03:00:00  ETHUSD  130.06  130.79  130.06  130.75   503732.63   \n",
       "10506 2019-01-01 02:00:00  ETHUSD  130.79  130.88  129.55  130.06   838183.43   \n",
       "10507 2019-01-01 01:00:00  ETHUSD  131.62  131.62  130.77  130.79   434917.99   \n",
       "10508 2019-01-01 00:00:00  ETHUSD  130.53  131.91  130.48  131.62  1067136.21   \n",
       "\n",
       "      DayOfWeek  \n",
       "1749    Tuesday  \n",
       "1750    Tuesday  \n",
       "1751    Tuesday  \n",
       "1752    Tuesday  \n",
       "1753    Tuesday  \n",
       "...         ...  \n",
       "10504   Tuesday  \n",
       "10505   Tuesday  \n",
       "10506   Tuesday  \n",
       "10507   Tuesday  \n",
       "10508   Tuesday  \n",
       "\n",
       "[8760 rows x 8 columns]"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[(df['Date']>=pd.to_datetime('2019-01-01')) & (df['Date']<pd.to_datetime('2020-01-01'))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.set_index('Date',inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Symbol</th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2020-03-13 20:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>129.94</td>\n",
       "      <td>131.82</td>\n",
       "      <td>126.87</td>\n",
       "      <td>128.71</td>\n",
       "      <td>1940673.93</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-13 19:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>119.51</td>\n",
       "      <td>132.02</td>\n",
       "      <td>117.10</td>\n",
       "      <td>129.94</td>\n",
       "      <td>7579741.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-13 18:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>124.47</td>\n",
       "      <td>124.85</td>\n",
       "      <td>115.50</td>\n",
       "      <td>119.51</td>\n",
       "      <td>4898735.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-13 17:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>124.08</td>\n",
       "      <td>127.42</td>\n",
       "      <td>121.63</td>\n",
       "      <td>124.47</td>\n",
       "      <td>2753450.92</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-13 16:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>124.85</td>\n",
       "      <td>129.51</td>\n",
       "      <td>120.17</td>\n",
       "      <td>124.08</td>\n",
       "      <td>4461424.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-01 15:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>265.74</td>\n",
       "      <td>272.74</td>\n",
       "      <td>265.00</td>\n",
       "      <td>272.57</td>\n",
       "      <td>1500282.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-01 14:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>268.79</td>\n",
       "      <td>269.90</td>\n",
       "      <td>265.00</td>\n",
       "      <td>265.74</td>\n",
       "      <td>1702536.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-01 13:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>274.83</td>\n",
       "      <td>274.93</td>\n",
       "      <td>265.00</td>\n",
       "      <td>268.79</td>\n",
       "      <td>3010787.99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-01 12:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>275.01</td>\n",
       "      <td>275.01</td>\n",
       "      <td>271.00</td>\n",
       "      <td>274.83</td>\n",
       "      <td>824362.87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-01 11:00:00</th>\n",
       "      <td>ETHUSD</td>\n",
       "      <td>279.98</td>\n",
       "      <td>279.99</td>\n",
       "      <td>272.10</td>\n",
       "      <td>275.01</td>\n",
       "      <td>679358.87</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>23674 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     Symbol    Open    High     Low   Close      Volume\n",
       "Date                                                                   \n",
       "2020-03-13 20:00:00  ETHUSD  129.94  131.82  126.87  128.71  1940673.93\n",
       "2020-03-13 19:00:00  ETHUSD  119.51  132.02  117.10  129.94  7579741.09\n",
       "2020-03-13 18:00:00  ETHUSD  124.47  124.85  115.50  119.51  4898735.81\n",
       "2020-03-13 17:00:00  ETHUSD  124.08  127.42  121.63  124.47  2753450.92\n",
       "2020-03-13 16:00:00  ETHUSD  124.85  129.51  120.17  124.08  4461424.71\n",
       "...                     ...     ...     ...     ...     ...         ...\n",
       "2017-07-01 15:00:00  ETHUSD  265.74  272.74  265.00  272.57  1500282.55\n",
       "2017-07-01 14:00:00  ETHUSD  268.79  269.90  265.00  265.74  1702536.85\n",
       "2017-07-01 13:00:00  ETHUSD  274.83  274.93  265.00  268.79  3010787.99\n",
       "2017-07-01 12:00:00  ETHUSD  275.01  275.01  271.00  274.83   824362.87\n",
       "2017-07-01 11:00:00  ETHUSD  279.98  279.99  272.10  275.01   679358.87\n",
       "\n",
       "[23674 rows x 6 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "132.68"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc['2020-01-01']['High'].max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "highs = df['High'].resample('D').max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "132.68"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "highs['2020-01-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='Date'>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAESCAYAAAAR2wXeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA+QklEQVR4nO3dd3hc1bXw4d+SRr1alizLlnsDV2yEaQFMDMaUxJCEhPIBl5BwEyAQAkkIKYQAgVyScOm59BJ6CwYMNs0UGxvbuOCK5V7kIqv3Kfv745wZjfqMZqQZedb7PH48c86ZM3t8rDVb6+y9thhjUEopFRviIt0ApZRSvUeDvlJKxRAN+kopFUM06CulVAzRoK+UUjFEg75SSsUQR6Qb0Jnc3FwzfPjwSDdDKaX6lBUrVpQaY/La2xfVQX/48OEsX7480s1QSqk+RUR2dLRP0ztKKRVDNOgrpVQM0aCvlFIxRIO+UkrFEA36SikVQzToK6VUDNGg3wcYY/B4tAS2Uip0XQZ9EXlCRA6IyNp29t0gIkZEcu3nIiL3iUixiKwRkWl+x14mIpvtP5eF92Mc3k65eyHH3/VhpJuhlDoMBNLTfwqY3XqjiAwBZgE7/TafCYyx/1wJPGwfmwPcAhwLTAduEZF+oTQ8luwsq2N/VWOkm6GUOgx0GfSNMZ8CZe3sugf4DeCfd5gDPGMsS4BsESkAzgDeN8aUGWPKgfdp54tEKaVUz+pWTl9E5gB7jDGrW+0aDOzye77b3tbRdhUEXdpSKRWqoGvviEgqcDNWaifsRORKrNQQQ4cO7Ym36FOqGpy+x/VON6mJUV0uSSkV5brT0x8FjABWi8h2oBD4SkQGAnuAIX7HFtrbOtrehjHmEWNMkTGmKC+v3SJxMWXynxf4HhcfqIlgS5RSh4Ogg74x5mtjzABjzHBjzHCsVM00Y8w+YC5wqT2K5zig0hhTAswHZolIP/sG7ix7mwrCyp0VkW6CUqqPC2TI5gvAF8A4EdktIld0cvg8YCtQDDwKXAVgjCkDbgOW2X/+Ym9TQWhwuiPdBKVUH9dlgtgYc2EX+4f7PTbA1R0c9wTwRJDtU36cbk+km6CU6uN0Rm4f0uTW0TtKqdBo0O9DtKevlAqVBv0+pMmlQV8pFRoN+n2I9vSVUqHSoB/FWs/A1aCvlAqVBv0o1tgqndP6uVJKBUuDfhRratWzd+roHaVUiDToR7FGZ6ugrz19pVSINOhHsdY9/dbPlVIqWBr0o1hjq7ILeiNXKRUqDfpRrE1PX9M7SqkQadCPYq2DvPb0lVKh0qAfxbxDNG84fSwnju6vOX2lVMg06Ecxb09/+ogc0pMcOF06ZFMpFRoN+lGs0WXdyE1KiCfREa/pHaVUyDToRzFvTz8xPo6EeNEZuUqpkGnQj2LeIJ+UEEdifJz29JVSIdOgH8Ua/Xr6iQ4N+kqp0GnQj2JNfj39hPg4rb2jlAqZBv0o5kvvxMeTEB/XYty+x2N0spZSKmga9KOYN52T4BAS44Umt8dXY//2dzYw9g/vUtPoimQTlVJ9TJdBX0SeEJEDIrLWb9vdIrJRRNaIyBsiku2373ciUiwim0TkDL/ts+1txSJyU9g/yWHI5Q36dk4fwOWxgv5Ti7cBsOVATWQap5TqkwLp6T8FzG617X1gojFmMvAN8DsAERkPXABMsF/zkIjEi0g88CBwJjAeuNA+VnWiyc7hO+KEhHjrUnlTOmmJDgBqm7Snr5QKXJdB3xjzKVDWatsCY4w32iwBCu3Hc4AXjTGNxphtQDEw3f5TbIzZaoxpAl60j1WdcLk9OOIEkeag35zysZ7XN7k7fL1SSrUWjpz+j4F37ceDgV1++3bb2zra3oaIXCkiy0Vk+cGDB8PQvL7L5TG+YO8N8k2+lI8AUKtBXykVhJCCvoj8HnABz4WnOWCMecQYU2SMKcrLywvXafukJpcHhx3ck1qld7xfBnV6I1cpFQRHd18oIv8FnAPMNN4hJbAHGOJ3WKG9jU62qw64PB6/nr4V/L1j9RPt7drTV0oFo1s9fRGZDfwG+K4xps5v11zgAhFJEpERwBjgS2AZMEZERohIItbN3rmhNf3w53QZXxqndU7f+xtAvd7IVUoFIZAhmy8AXwDjRGS3iFwBPABkAO+LyCoR+ReAMWYd8DKwHngPuNoY47Zv+l4DzAc2AC/bx6pOOD0eHHF2T98O+l9sOdTiGO3pK6WC0WV6xxhzYTubH+/k+DuAO9rZPg+YF1TrYpzL3dzT947Tv2XuOiYXZuGy0zya01dKBUNn5EYxp7s5p+/N4QN8vafSN4qnTnv6SqkgaNCPYk63wRHfMr0DsK+ywZfbr6x3RqRtSqm+SYN+FLNG77RM7wC4jfGldxas38+mfdURaZ9Squ/RoB/F/NM73uAPYAwtFkkv1vo7SqkAadCPYk63wRFn9/T90juNTrevpw/QLzWh19umlOqbNOhHMVeLnn7zpWpwenQVLaVUt2jQj2LOdoZsglVZ0+UxpCdZI26dHl1RSykVGA36Uczp9rQ7eqestgmAU48YAIDbo71+pVRgNOhHMavKZtuc/mJ7Vm52ipXL17VzlVKB0qAfxfxH72Qkt508nWUHfZcGfaVUgDToRzGX2/hq78TFCX89b1KL/dn2qB2XpneUUgHSoB/FnG4PiY7m8fkXHTuUWePzfc+TE+Lt47Snr5QKjAb9KOZ0N1fZ9PIGegC3PWpHb+QqpQKlQT+KudzGVzffK8lv6OZxI/sD2tNXSgVOg34Uc3o8LUbtQHNP/6oZo8jLSAKsSVxKKRUIDfpRzNlOT99g9eozkhN8+1w6OUspFSAN+lHKGIPbY9rk9J0uK8CnJzt8dXk0vaOUCpQG/SjlWwDd0Sro2zdtkx1xvi8EvZGrlAqUBv0o5VsAPU5abW/+MvDO1tWevlIqUBr0o5R3lq0jvnV6x/tlEIeIEB8nOjlLKRWwLoO+iDwhIgdEZK3fthwReV9ENtt/97O3i4jcJyLFIrJGRKb5veYy+/jNInJZz3ycw0ejy1r7NrGDG7netI8jTrSnr5QKWCA9/aeA2a223QR8aIwZA3xoPwc4Exhj/7kSeBisLwngFuBYYDpwi/eLQrXv/o+KgbZr4P75uxO46NihnDI2D7BKMVTUNfV6+5RSfVOXQd8Y8ylQ1mrzHOBp+/HTwLl+258xliVAtogUAGcA7xtjyowx5cD7tP0iUX7W7KkEYFB2SovtBVkp/PW8Sb6efm56EqU1GvSVUoHpbk4/3xhTYj/eB3gLwgwGdvkdt9ve1tF21YG89CTyMpI496jO/5ly05M4WN3YS61SSvV1Id/INcYYIGxJZRG5UkSWi8jygwcPhuu0fc7+qgbGF2QS12r0Tmt5GUmU1mjQV0oFprtBf7+dtsH++4C9fQ8wxO+4QntbR9vbMMY8YowpMsYU5eXldbN5fV91g9NXL78zVnqnEeu711Ja08ji4tKebJ5Sqo/qbtCfC3hH4FwGvOm3/VJ7FM9xQKWdBpoPzBKRfvYN3Fn2NtWBmkY3aUltF05pLS8jCafbtLjh++2/L+Six5bi0fIMSqlWuowqIvICMAPIFZHdWKNw7gJeFpErgB3AD+3D5wFnAcVAHXA5gDGmTERuA5bZx/3FGNP65rDyU9voIj0pvsvjctMTAThY3Uh2qvW4qsEFQEW9k5y0xJ5rpFKqz+ky6BtjLuxg18x2jjXA1R2c5wngiaBaF6PcHkO9M7CevjfQtx7aCXCoplGDvlKqBZ2RG4Vqm6yeenoAQb91KYYGp9u3799LdvRA65RSfZkG/ShU22gF/UB6+t6F072lGPZU1Pv2fa43c5VSrWjQj0J1TVZvPTWx65y+tyCbt1bPLW+u8+0bmJXcA61TSvVlGvSjkDdF478ebke8Pf2mVqtnTRiUSU2ju72XKKVimAb9KNRoV9JMcnR9eXzpHbun7/J4OGZ4P4b1T6Wmoe3NXaVUbNOgH4Uand6gH0B6x7dkovWaA9WNDMhIJj3JQa329JVSrXR9p1D1Om9Z5eSEAHr69upZ3tE7VfUuslITSHLE+W4IK6WUlwb9KNSc3gm8p9/k8jDv6xLqmlykJMSTmhhPTZMLYwwindfvUUrFDg36Uch7IzcpgJ6+N+g/t3QH6/ZWAZCSEE96kgNjrJFAgQz9VErFBs3pR6FgbuQm2jdyt5XW+ralJMb7An1ZbRM7D9X1QCuVUn2RBv0oFFx6x7qE3rH90NzTB7hl7jpOvvtjDlQ19EBLlVJ9jQb9KNToDPxGrqOdevspic1B/6ONVtXrBev3h7GFSqm+SoN+hHk8hnfWlOD2K4Ps7eknBjFO319KQnybPP7nm7Ukg1JKg37EvbFyD1c//xXPfLHdt63JG/TbCeitxccJrTv7BtPiSwRg/vp9rLXX3VVKxS4N+hFWXmctar67vLlQmsvjwREnAQ+1bL1WSmG/VIqG9/M9nz48B2PgnPs/p0bH7isV0zToR5ivdo6ruXaOy218QzG745jhOSQnxPPwxdMAyExxcNnxwwDYerAmhNYqpfo6DfoR5s3bO/0KpjndxjfTNhTxdt7H7TFcdKwV9P2HdiqlYo8G/Qjzjr55cdku3zan29Ptnv6nvz7V9/iE0blMH5HD7846ksH9UgAoqdShm0rFMp2qGWEuv4S8t2SCy+Pxjb8Pxv/8YDJD+6f6nqcnOXj5v4/3nTs5IY7S6sbQG62U6rO0px9hjX7LG3qHalrpneB7+mdOHNjhPhEhLyOJ0prwBf3d5XX8ff4mPK3vJCulopYG/QjzX/zEO7LG5e5eTz+li0VXctOTKK1pCvq8HfnuA4t44ONith/S+wRK9RUhBX0RuV5E1onIWhF5QUSSRWSEiCwVkWIReUlEEu1jk+znxfb+4WH5BH2ct3Y+NK+N6/QY34LnwejqiyIzOYHqMC6sUlZrfYFUN+gwUKX6im4HfREZDFwLFBljJgLxwAXA34B7jDGjgXLgCvslVwDl9vZ77ONiXqOr/Z5+ezNtQ5We5OiRcfoa9JXqO0KNLA4gRUQcQCpQAnwbeNXe/zRwrv14jv0ce/9M0ULvvgVTAN9KV84gx+lfOH1oQIuopyXFh201rbqm5kAfzt8elFI9q9tB3xizB/g7sBMr2FcCK4AKY4w3IuwGBtuPBwO77Ne67OP7tz6viFwpIstFZPnBgwe727w+w7+nX1VvBU+n24MjiHH6d35vEuv/MrvL49KSHGFbTWtvRfPQz2qd5atUnxFKeqcfVu99BDAISAO6jjxdMMY8YowpMsYU5eXlhXq6qObxmBYlkQ/VWiNrXO7u5fS7kpbooNZeTStUJZXNZSO8X1ZKqegXSnrnNGCbMeagMcYJvA6cCGTb6R6AQmCP/XgPMATA3p8FHArh/fu0JVsPMfLmeXyx5RBDcqyJU96RNVbtnfDn9NOSHHgM1DtDT/H4T/LaU1HfyZFKqWgSSmTZCRwnIql2bn4msB74GPiBfcxlwJv247n2c+z9H5lwdDn7qMXFVqnjPRX19EtNJCPZwYGqBjweE3ROP1DpSVbePxx5fe+SjgVZyVraQak+pNszco0xS0XkVeArwAWsBB4B3gFeFJHb7W2P2y95HHhWRIqBMqyRPjHLv959SkI8OWmJPP3FDvZVNeDsodE73vesbXSRl5EU0rm8BeLG5mewcNNBtpXWMiI3LeQ2KqV6VkhlGIwxtwC3tNq8FZjezrENwPmhvN/hxD/opyU58Pbr56/bz4jctIDWx+3ue4Zj2KbTbf2S5i0Y98uXVvHm1SeGfF6lVM/SGbkR4j9YNSUxnn1+a9huK61tUUMnXNL9evqh8vb0z55UAEB2SkLI51RK9TwN+hHiPxM3NSGeBr/nAOPyM8L+nt6e/n0fbQ75XE63h/g4Yc5Rg8hOTSA1MZ7y2vCVeFBK9QwN+hHiPz4/Jy2xzf6z7B50OHlv5C4qPkR9U2g3c637DtbqXgMzk3l37T6Ov+vDsAwHVUr1HA36EdLgN2zyyIJM3+NLjx/G8j+cRnIXxdO6w/+cofb2m/xuNqfYs4EbnB626kgepaKa1tOPEP+e/vDcNJ7/ybF8tPEAfzhnfI+954CMZOLEWlO3MsQJVU0uj2/hdodfGej9lQ2MyksP6dxKqZ6jPf0I8a+50z8tkRNG5/ZowAdrpM3WO89mcHZKmNI71n+fOL+70re9s4EfP7VM0zxKRSkN+hHif+O2vZx+T8rt5mIqbo+hos66Wet0G99wzXi/nv6Gkio+2niAzQd0AXalopEG/QjxXwg9kAqZ4VSYncKOQ3VBv+7/Pt3CUX95nwNVDXZO3wr28e2s8rVFg75SUUmDfoT4LzHY2xWmJxVmsbOsztdrD9TKnRUAfLq5lEZnc3qnvaC/qzz4LxWlVM/ToB8hbmMY1j+V7Xed3evvnZ9plWAorwvuZu4Au3TDja+s5oMN+5uDvv2l5T0vtCzIppSKHhr0I8TtMb5g2duSHFY6qcnl6eLIllrXA/Iul3h+0RAAHrmkiAuOGUJWSkLY6vYrpcJLh2xGiMcY4tpJi/QG71DLYIO+/4gjsL64AGZPHOj7jWXKkGyWbS8L2wpdSqnw0p5+hESyp+8dddM6iHeldamIgVnJ7R7XU2vxKqVCpz39CHF7iFxP39G9nr7/LOIbTh/LuVMHt3tcOJdlVEqFlwb9CPEYQw+UzA+Ir6fv7l7Q//UZ47j61NEdHpeW5KCsVkfvKBWNNL0TIZG9kdu9nn69080xw/t1GvBB0ztKRTMN+hESyRu5Sb6cfnBBv7rBFVAhuHRN7ygVtTToR0hEb+TGBz9ks6SynnV7q5hSmN3lsVZOX0fvKBWNNOhHiNsTwSGb3UjvbC+1cvTHj+rf5bHpSfE0uT1Bp4+UUj1Pg36EeEzkh2z+Z+WegF/jLaswODuly2PTWi3L+Oe567j97fXBNlMp1QNCCvoiki0ir4rIRhHZICLHi0iOiLwvIpvtv/vZx4qI3CcixSKyRkSmhecj9E1uj2m3Zk1vSE6wLvuX28sCfs3ba0pIToijILv9sfn+vEG/qsEq8/DU4u089vk2vbmrVBQItad/L/CeMeYIYAqwAbgJ+NAYMwb40H4OcCYwxv5zJfBwiO/dp0UyvZOa6KC/Xc450BTMrrI6Zowd4Cvh0Bnvzd4bX1ndoproxFvm4wpymKhSKry6HfRFJAs4GXgcwBjTZIypAOYAT9uHPQ2caz+eAzxjLEuAbBEJ/0KwfYTbGOIjE/MBuOnMIwDrBm0gahtd9EtLCOhYb5mHZdvLKW9VyfOWueuCaKVSKtxC6emPAA4CT4rIShF5TETSgHxjTIl9zD4g3348GNjl9/rd9raY5Pa0X5K4t3gXbqkIsNJmXZOb1MTA5vLNGp/P+IJMEuKF0mor6N/9g8kArNpVEXxjlVJhE0rQdwDTgIeNMVOBWppTOQAYa828oNbNE5ErRWS5iCw/ePBgCM2Lbh6PabHMYG/LTLF67d/sr+4yxWOMobbJ5cvVdyUuTrj0+GE43Yb31+8HYGx+BpceP4ydh+p0KUWlIiiUoL8b2G2MWWo/fxXrS2C/N21j/33A3r8HGOL3+kJ7WwvGmEeMMUXGmKK8vLwQmhfd3CZyN3IBsuyg/+tX13Ddiys7Pbbe6cYYSAtiha8RuWkA3PPBNwCMG5hBfmYy1Y0umjSvr1TEdDvoG2P2AbtEZJy9aSawHpgLXGZvuwx40348F7jUHsVzHFDplwaKOZ4I3sgFyExuzs+/u3Zfp8d6J1qlBtjTBxiRl+Z7fO3MMSQnxPtu8Ia6KLtSqvtCLbj2C+A5EUkEtgKXY32RvCwiVwA7gB/ax84DzgKKgTr72JjlNgZHJIN+SuCX3jvePpiefl568ypaV80YBTSvBVzvdJMd8JmUUuEUUtA3xqwCitrZNbOdYw1wdSjvdziJZBkGIOCbsgC1TXbQD6KnLyI8emkReyvqfT38FO3pKxVxWlo5QiKd3mmts/bU2UE6LYgvCoDTx+e3eJ5i9/TrNOgrFTFahiFC3BEsw+A195oTOWlMLgA1TR3PlvWmd1KTAk/vtMfb0/dfjEUp1bs06EdIJFfO8ppcmM3siQMBmN/JzVzvjdxge/qt+ef0P950gOE3vcPHmw508SqlVDhp0I8Al9tDg9MdsZWz/I3ob42yeWrx9nb3N7k8PPrZVgDSQuzpe3P7ryzfzZOLrPe7/MllIZ1TKRWcKAg7sedHjyyhptEV8fQOWKWSjx/Z31ccrbVrnv/KN4s21J6+dyH1uav3+uYJZCTrbSWlepMG/QhYsaMciHx6B6xRNt8+YgC7yuo5WN3YYt+KHeUssGfUQug5/dz0JAbZgf+t1XsBazUuzfEr1Xs06PeSxz7byvbS2hbboqGnDzB2YAYA2w+1bF/rL4FAKmx2xd1OCYbO6v9UNTjb/LsppbpPg34vqKxzcvs7G7jkiaUttgey3mxv8JZZLq9tWRHTvyzyyj+eHpb3crmbg/7QnFQAaho7Dvon3vkRM/6+MCzvrZTSoN8rvPnymoaWwyK9K1hFWnaqlV9vXQa5ot5q9/M/PZZ+9hdDqPzr7ozNt37DqOlkPd1qe7ioFmlTKjyiI+oc5irt4Bkf1/Kf2xHJgvp+vGWWy1ulWSrtL4Gjh/UL23t9f1qh7/GcowYBbb8MK+qacLk9LWbuVuuqW0qFhQ6d6GHGGH718ioAEloF+cRoGLOJNWkq0RHXJr1T3eAi0REXlly+1x/PGc/1p40lKSGOLQdrAFoso9jocnPUX97nh0WFXDtzjG97ZZ2zRZE4pVT3REfUOYw99tk2vtlvBbeSygYWF5f69kVLEBMRclIT26R36p1u34SqcImPE7JSE0hOiCe91QLqf/zPWopu/wCAl5fvpszvS2jxllJ+++oa38gnpVT3aE+/hz2zZHuL5xc91nwz93vTomfhsOzUBMpqW6Z3GpxuksPYy2/7nlZaaeO+Khqcbp5dsqPF/v1VzaOH7np3I+V1TvZVNfD0j6f3WJuUOtxpT7+H5fqVGPZ3w+ljcURJegesvH5Fq55+g9NDckLPtTErJYFzjxrEM1/sYFs7wzJX7Wru1XvvN3zyzUFe/2p3j7VJqcNd9ESdw1Sj08NpR+ZzyXHDWmwP12iYcOmXmkhZO+mdnh5WOmfqYBpdHp5fuhOA//3RUTxw0VQA1u2tAppHF80an09eRhK/fW2NlmdWqps0vdPD6ppcpCXFc+t3J3DNt0dz4aNL2Hqwln6p0RX0B2Qm8fGmBowxiD1prKEXgr532KY3tTO0f6qvRMM3+6pJiBcW3jgDj4F+qQksWL+f/352BRv2VTFtaPhGFSkVK7Sn38Nqm9ykJjqIixPyM5MZnJ0CRM9wTa9hOanUNbkprWnu7Tf2cHoHYFBWcosVuYblpJKXYaXE9lY2kJOWSHZqIjlpiYiI70ti60GdpatUd2jQ72F1ja4WQe3iY600z+gB6ZFqUruG2LNjd5fX+bY1uHq+py8ijLED+cXHDqV/ehIZSQ7yM63A7/2S9BqYadXu2V/V0KPtUupwpUG/B3k8hjqnu8WC4rMnDqT4jjMZlRddQd87ksZbUROs9E5KL5SKuObU0QBMLswCrC+Cv543CYBh/dNaHJuSGE9mskODvlLdpDn9HlTvdGMMpLeqThlNo3a8suyF0m99az2XnziCuav38s3+GiYOyurx9z5tfD7r/3JGiy+YmUfm8+wV033pHH+D+6Wy/VBdm+1Kqa5FX/Q5jHgXFA9mEfJI8Z8otqGkimtfWAlAei/Vu09NdPhuIHudNCaPfDud42/y4CzW7K5oURBOKRWYkIO+iMSLyEoRedt+PkJElopIsYi8JCKJ9vYk+3mxvX94qO8d7eq8ywyGWIe+N2SmNAf9M+/9zPc4LSn6vrBmTcinos7JTa99HemmKNXnhKOnfx2wwe/534B7jDGjgXLgCnv7FUC5vf0e+7jDWl/q6Sd1UPHz5zNG9XJLuvbtIwbwnSmDeO2r3b7x/UqpwIQU9EWkEDgbeMx+LsC3gVftQ54GzrUfz7GfY++fKa1/nz/M1DWFZ0Hx3iAiTBiU2WLbOZMLoqY+kD8R4fY5ExmQkcQ7X++NdHOU6lNC7en/L/AbwJtc7Q9UGGO8ZRN3A94CM4OBXQD2/kr7+F5TXtvE715f02sjP7yFxEJdZrC3/OHs8S2ej4yyEUb+slITmFyY1aZekFKqc93ugorIOcABY8wKEZkRrgaJyJXAlQBDhw4N12kBmHrb+4A16eifPzoqrOduT1/q6QNMG5bd4vkJo3r1Ozlo/VITWbunKtLNUKpPCaWnfyLwXRHZDryIlda5F8gWEW+UKwT22I/3AEMA7P1ZwKHWJzXGPGKMKTLGFOXl5YXQvJaaXM0jPbwrWfU0b0+/L9zIBWsN3C9/P9P3fOrQ7Mg1JgA5aVa9IF1VS6nAdTvoG2N+Z4wpNMYMBy4APjLGXAx8DPzAPuwy4E378Vz7Ofb+j0wv/rQeqG7we9zYyZHhUdPo4pFPtwLQP639SpvRaEBGMh/fOIO515wY1sVTekJeRhJNLg+HWi3+opTqWE+M0/8t8CsRKcbK2T9ub38c6G9v/xVwUw+8d4f2VVpBf0BGUq/k9F9dvovNB2oYX5BJSpgXIulpI3LTmFyYHelmdGnKkGwAlm4ti2xDlOpDwhL0jTELjTHn2I+3GmOmG2NGG2PON8Y02tsb7Oej7f1bw/HegSqxg/6UIdmU1jTh9vTsLxkl9hfLI5ce3aPvE8uOGpJNfmYS/1m1p+uDVVSobXTx7b8vZNl2/aKOlJiZkevt6U8pzMLtMRyq7dkUT2l1EwVZyRT2S+3R94llCfFxjM3P6JV0nQqPb/ZXs7W0lr+8tT7STYlZMRP01+ypJDUx3lfd8kBVcIFiV1kd17+0iiVb29x7bteh2sYOV81S4ZOVkkBVvQ7b7Cvi7Kk5vTWYQrV12Af98x5axHNLd/De2hJOGpPrq+Vyzv2f0+AMbPUlYwwXP7aUN1buCWipvg0lVXy+uZSBWW3rxqjwykpJoFKDfp/hnaWuX9SRc1gHfafbw8qdFfz+jbU43YYzJxYwwK+A16srAltrtdHlYWeZVdVxV1l9p8fWNbk4897PcHkMI/PSOj1Whc4b9HXYZt9Qa9ejqg+ww6XC77AO+t5x8l7ThvYjzy/lsqi4NKDz+PdKvMG/PU8t2sY/Fnzje37MsJxAm6q6KSctEbfHsENLLfcJdXZP3+nWL+lIOSyD/vbSWppcHmr8gv6vzxjH0P6pJPoVFtsX4NDNqgbrPCNz09hbWU+jq20vxe0x/Pmt9Tz++TYA3rrmW5w2Pj+Uj6ECcNakAhLihScWbeOfCzaxvVSXUYxm3p9Jt8fwz/etDpLHY3Bpmexec9gF/X99soUZf1/ILXPX+sognD4+n5+eNNJ3zOtXncBxI3NYubOC295uOYrA6faw0+411ja6ePTTrb7hZRMGZ2EMfLmtDE+rIZ/FB2paPB+eq6N2esOg7BSmDu3HM1/s4L6Pinn0s14dCayCsGa3lWr1uu/DzRhj+PHTy/j+w4s18PeSvlEUJkAllfXc9e5GAF74cheLt1gjbS46dmiLHv60of04fmQuS7aW8fjn2/jV6WN9deNfWraLP/xnLf++4lh2lNVyx7zmqtFnTypg6dZDXPL4lwD88rQxvPv1PgZlJ/uKk104fShFw/qREYXVKQ9X/VKb/60P1ejs3Gj1zpqSFs/j44SF3xxk4aaDAGw/VMvoAW1XSlPhdVj19LcebPmrvTfPm97OQiCn+6VeXlm+iwse+YJDNY2s22sV8Pp/jy/ljnc2tHjNpMIs/n7+FN/z//1gM5v2V/PxpoO+tM7NZx3B948uDM8HUkF7b90+Siqtm+0Hqxu55c21VNbpSJFoUFLZQHZqAqtvmcWPiobg9hguf3KZb3+pfmH3iqgO+rWNLg4GMfHGG+QXXH9yi+3+PUGv8YMyefCiaQA8s2QHS7aWccnjX/LCl82LctQ1uclOTeD5nx7LRzecwuDsFE4em8cNp49t9/2v/fZo7eFHQEWroH78nR9x57wNHHPHBzz9xQ7umKcTgaJBSWU94/IzyEpJ4FtjctvsL63RSXa9IaqD/tbSWs57aFHAxx+obkDEqh3zya9n8NlvTuXJy49hVAd14ScXWot+b7Nv/q0vsXr550wu4JWfHc+Jo/tz81lHcsKo3Ba15X8xcwybbp/NQxdP46/nTQLg9nMn8qtZ47r1OVVovGO/rz+t+cv430t2+B6/vHw3i7cENlJLdV95bRN/enMt9U3tD8fcW9HAoOwUAM6YMJALpw8lJy3R9zNUqjOru3Tnuxv42bMreGX5rm4PU476nP7u8noOVDcwIKPriU4Hqxvpl5pIQnwcw/pbY+SH5HR8Q3VwdgoZSQ6q/Ub5nDlxIA/YvwE895PjOnxtkiOesyYVADBxcCaTBmcF9HlU+E0oyGLtnirOnlzAPR9YI0Jq/QJPSkI8H6w/wAmj2vYuVfcYY3jgo2LOnlzAyLx03B7DRY8tZUNJFZMLs/mBX4rT7TGU1zWxv6rBN2Ex0RHHnd+bxJ3fm4THY7jz3Q1s2l/T0dsprFIy//eJNVDhvXX7GJufwfhBmSTEB9d3j+qevtfNr6/t+iCsETR5QZQ+iIuTNqta1bQa2x+IyYXZHOYrP0a1W+dM4D9Xn8joAek8cklzgbuHLp7GO9d+i4xkh298uAqPstom/vH+N1z46BIA3l6zlw32b8q3vLm2xc/R3fM3UXT7B7g8hkHtzFKPixOOG9mfd9bspVzLZHfoxWUt14Oe8+AivvfQ4qDPE9VBf1x+BgVZyXy4cX+XU+0PVDWwdFtZ0At/9EtNbPG8SCdU9TnJCfEcZZdZnjVhIBtvm82Tlx/DWZMKmDAoi9TEeJ0BGmbl9n2U/VWNuD2Gr3aU+/bVNrl5evF2wJqM9ZJfsJrYwW/E180cQ1WDi3lrS9rdr2CF37+x19d7KqkOso5RVKd3Eh1x/OP8KVz02FJW76rg5LEdr6S1aX81AHOOGtzhMe351/87micXbeMnJ42k0eVmRG70rgurApOcEM+p4wa0eF7XQZ5ZdU9FXXOPfNTN8wA4bmQORwzM5KnF2329/iueWk55nZM/nTOe9CQHU4f2a/d8EwZlkhgf1+mM91hXVe/k5LF5jM5L54lF23zbv9lfzdFBdFajOugDDM+1cvMvL9/VadD33owdFWS9m+G5adw6Z2L3G6iiXmpifJubi+W1Tdz30WauPHkkBVkpEWpZ31XWThpm+vAcfjVrHN/sr+btNSVMG7qNL7eX8cOiQn78rRGdnk9EyExJ0OG1nahqcDG0fxp/+s54TjtyAKlJDs59cBEb91lB/1BNI9sP1XH0sPa/WL2iOr0D+Kpivr2mBI/H8MH6/fzk6WVtZsR6/xPmpCW2OYeKbamJbXP6Ty7axpOLtnPnvI0RalXf1nqYLOAL7EPsNST+8vZ63B7DiaMDu4GeleLQiqmdqKp3kpVi9dNPGJ3LlMIsMpIcbNpnZTm++8CigGY2R33Qj48T37J4O8vquGPeBj7YcIA3VrZcLamizklGsgNHkHey1eGvvfSOdyW1d74uoa7JxY5DWrMnGGV2eufyE4dz/4VT+cPZR5Jt3x+7+tTRnG+P3klPcvDtIwZ0eB5/nZXJdnsMi4tL23T2YoUxhsp6J5l+84BEhLEDM9i4rxpjDHsqrEmJu8s7rwTcJyLkH88+EoBth2qZan8B3PDKal5ZvguAzfurWbmznOx2JmEplZoYz8Z91S1SPAftiUBuj2Habe9zyt0LWbO7gganG6fWgOlSeV0TifFx/Omc8XxnyiB+4lfbamj/VO4+fwpLfjeT5X84LeAJi9mpiazaVcFZ937WYp4FwP0fbeYie02LWLS3sgGXx7RZmGnS4Cy+3FbGzH9+4tu2rYsOTJ8I+t4Uz+VPLvP12EbmpXH7OxsorWlk9r2fsXp3ZdDjVVVsyMuwflA+Ly5l1a4K/rFgEzsP1ZFhl+docFpB/rsPLOKIP77HjLsX6uzQLlTUOslOTeh0qPLArGSSE+I73N/azCMHUNfkZn1JFX/4z1qeX7qTuiYXxhje/XofAO+u3det9gYzsz/aNLk8nH3fZwC+rIfXT06yUmr+JWi6qj/VJ6Kk94cWYMH6fYzNT+e+C6ZSWe/kg/X7fYucn3akljJWbV1vl83YWFLFuQ8u4v6PitlaWsupfmmHX/mV1thTUc/P/72CBz8u9v3f8tfk8nDP+99w0aNL2t0fC8rqmsJ+/6z1z+/Nb3zN+D/N57a3N/hG5324cT9bDgY3iWtRcSnH3PEBN7y8Omxt7U2vfbWbijonZ08q8GU6vAr7pfLQxdMYl5/Bf59i/bZV1sX6390O+iIyREQ+FpH1IrJORK6zt+eIyPsistn+u5+9XUTkPhEpFpE1IjIt0Pfy7y14jDXD8oiBGTjihB1ldaQnOfivE4Zz81lHdvfjqMNYepKDoTmpzF/fspc4fUQO915wFM/95Fh+PmMU8395Mptun83ZkwpYtr2cu+dvanehnetfXsW9H25m8ZZD3PrWuoCX3Tyc7DhUS0GYlwMdkJHEeVMH8+Tlx5Di9zP/xKJtTB+Rw9u/+BbGwMx/fBLwAkgADy0sBqzg6R1K2pcs3HSAwdkpPHDRVOLi2v5mddakAuZffzI3zT6ChHihrLbzm+Gh9PRdwA3GmPHAccDVIjIeuAn40BgzBvjQfg5wJjDG/nMl8HAwb/bMj6f7HicnxOOIj2NITioPL9xCTaMrqF8jVewZNzCDtXusH/jrTxvLKWPzOPWIAcw5ajAnjs4lIT6OcQMzSHLEt/jN8t9LdrBg3T4anG7fYt7+JYKf+WIH33toMU2u2LkP8OaqPXyzv4bJhdlhPa+IcM+PjuLUcQNYdNO3eeOqE5g4OJPvTyvkpSuPY+LgLN9vZH/8z1oanO52FzTyV9/kZlHxIX5YVEh6koPHPtvW6fHRxuX2sLj4ECePze1y1r+IkJOWyK4u5jp0e5y+MaYEKLEfV4vIBmAwMAeYYR/2NLAQ+K29/RljVQlaIiLZIlJgn6dLJ4/N48iCTDaUVJGSaAX4MycO5KGFWwB0qJfq1Imj+vP++v0AfGdKAdedNqbDY3PTm9MWC9bvZ4H9On95GUl8fOMMnl68nbvnb+KTbw62KNd9OLvuxVUAzJrQc583Jy2RnLRE3v7FSS22XztzDMkJcfx13kZOv+cTnC7D/OtPJiul/ZvF2+2bmieNyaO20c2SrYfaHFNa04gjTnyjjwA2lFRR1+Tucsx7T9tdXk91o6vDSW2tnTmxgKfs2dAdCUtOX0SGA1OBpUC+XyDfB3j/ZwwGdvm9bLe9rfW5rhSR5SKy/ODBgy32HTfSmnWW7LCC/q9OH8uTlx/Dz2eM4rqZHf8QK/WDoiG+x13lor2zss+YkM9PTxrB2ZML2qQyfj1rHOlJDn5on9dbwz8WDM5O4YiBGUwYFJkig6MHWNdnV1k9+6oamHLrAq5+7qt2f9v6ek8lAGPzMxiVl0ZJZX2L+zDvrS2h6PYPuPKZFS1ed+a9n/H9hxfz3NId1DW5+O2ra3h2yQ7W7+299JDHY7jkiaUADO8f2KTTm848gtTEzrMeIc/IFZF04DXgl8aYKv9fQYwxRkSCutNljHkEeASgqKioxWtb/+A54uM4ddyAFlPulWqP/0I6mV0MITxr0kAW3jiDwf1SWowIa3S5eeOrPcyeONDXK8xJSyRO4EBV3x0dAvC39zZS2+jiz9+Z0G7e2F9tkyvgsfc9YZhfAPxR0RBeWr6Ld74uYdSAdK4/bQzGWGXSSyobePDjYvIzkxgzIJ2ctEQ8Bg7VNrJiezmnHjGAd+xRQV9uL+OiR5fwxH8dQ6LfNf/9G2t9Szy+ZA8RT4yPY/bEgdw2ZyJZPTRM3O0xXPvCSnaVWZ2JQCsNJCfEM6x/Ghs6OSakoC8iCVgB/zljzOv25v3etI2IFAAH7O17gCF+Ly+0twXM+yuc/9KHSgXqjAn5zF+3v8ugJiK+8h/+khzxXDB9aItt8XFCbnoSD3xczNHD+/W5Dsiy7WVsKKniYTtNeuyI/pw9uYCSynqSHfFkpiQQb/97Nbrc3P72BirqnO0uTNRbRuWl89vZR7BiRzl3nDeRO783ibPv/5zXVuzm440HWLe3Ev9BVXd+bxJxcUKOPcb91rnreefrElISWhbiW7zlEM8t3clI+9r3S02gtslNk8vDaUfms2JHGeV1TprcHuau3ktdk5tHLz06LBV23R7Dayt2c8q4PPIzk1mxo5x3vrYSJm9cdQL9g6genNZTPX2xPunjwAZjzD/9ds0FLgPusv9+02/7NSLyInAsUBloPt/LZV/JJA36qhseuvjoHpl4NWtCPv9espPLn1zG1r+e1eWXSjQ5/19ftHi+eEspO8vq+Nt7VnmK708r5B8/tJYIfXPlXp61J01FutzJz2eMavH89PH53PfhZt+sVIBrTh2N0+PhvKlWFjnXbrM3mNY73YjAwhtn4HR7+M2ra7jt7eZV1v563iS+NSaXynong+z6TCJwoLqRnzy9nA827Odfn2xt05Zg1Te5ueGVVcz7eh+56UnM/+VJ3PWu1Vd/46oTAs7ne6W1szysv1B6+icClwBfi8gqe9vNWMH+ZRG5AtgB/NDeNw84CygG6oDLg33D40f2B2ixQINSgYqPE+Ljwj/K66Yzj+TfS6zyweV1TUH1ysJpb0U9mw/UcEonhQk7MjQnlZF5aTy3tGXN9te+2s2vZo1lUXEpv3ltDWDl9M+ePCgsbQ6Xb43O5b4PNwPwt+9P4oRRuW0WUJpU2HwP4pWfHU//tEQq6p2+dNHzPz2Oxz/fxt3zNwEwIDOJjOSENjOK8zOTef2qEzjnvs/5aOP+kIP+w59sYZ6dZiqtaeT0ez6lrLaJ2+ZMCDrgA6Ql9VBP3xjzOdBRl2ZmO8cb4Oruvh/AyLx0tt91diinUCrs0pMc3H/hVH7xwkoO1QYW9Dfuq2J7aS2zJxbg8Rg+2niA+ev28eszxjEgs3vj30+46yMAtt15VkApB/8idLfOmUBmsoPSmkbGF2Ry0bHDyE5JYMbfF3KifV6wPuvnvz016hYNmj4ihwXXn8yI3LQOZ+ZnJCfw5e9nkp7kIDWxbehLTojn6lNHU9Po4uGFWzpdrS8hPo7pI3J4Y+Ue3B7DhpIqxg3M6FZVAO8Qy9/MHsfu8npe+HInBVnJ/PCYIV28sn3tfTZ/UV9aWam+oL89zLO0ppGx+RldHj/7f61p9dvvOpv7Pyr2LfO4eMshXvrv4yjs1/Eyn+3xH5FSVe8K6AZjabU1Xf+W74z33YvwHyLZeg3WK08eyaXHD4u6gO8VyL97IMuu/nrWOM4/urDTpVbB+qJ5dskO33oCAzOTOXtygb18arZvlFFXDlQ3MHVoNlfNGA3Ad6cMIj3JQZKje7+VpvdgekcpZfMu0xlsjZc/vbmWZ76w8uRXnjySRz7dyt/e28T9F04N+BxvrNzN9S81lxg4WNPQJuh7ixOebw8xNcb4FuIY0c5Na7BuaL/6s+OZu3ovM4/M71baqC+KixNG5nUdsGceOYApQ7JZvasCgH1VDTz+ufVvmpHs4GenjOLcqYMZnN12vQZjDA9/soX/ec9KJc3ym+NxnJ3G7q4eH7KplLIqSzrihBU7yoNavc0b8GeNz+fms45kQ0lVlzMqW/vPyr2AlWvfU1HPLXPX8cdzxvP80p0M75/GhdOH8utXrXz8Bxv2c97Uwby0bBcfb7LmwQzspJxC0fAciobrEqLtSU108PrPT+DLbWVMH5HDttIa5q4uoV9qAi8t28Xd8zfxr4VbWPjrGb6U34aSKvIzk/ls80FfwAc4e3JB2No1ubDz+RPS+le4aFJUVGSWL18e6WYoFZBzH1zEhpIqvvrj6V2OoBh+0zstnj9yydHMmjCQG19ZzVur9/I/P5jMWZMKAsoRH3PHB5w0Jpfbz53IDx7+gvVB1Je550dTOPeowVGbsunLFqzbx5XPWpO+BmYmMzw3lSVby3z7B2Ulc+7Uwfz3yaPCPt5fRFYYY4ra26c9faXC5PITh3Pdi6u4+Y2vGZiZzI1njGs3aDe5PMSJVTzwyIJM5l37LV/QLchKptHl4boXV3HrW+u55Tvj2/3Nob7JzfNf7qS0ppGD1Y32AvAO5l13EsUHqjntn58yaXAWt3xnPA8v3EJuehJ/OXcC9U1u3lpTwppdFdw6Z0KXN/1U980YN4CpQ7NZubOCfVUN7Ktq8O1LTojj3z85NqA0UrhpT1+pMCmvbWLqbe/7no/Lz+DBi6cyekDLG4x/eWs9Tyzaxt0/mOzLsXuVVNbzs2dXsHp3pW/bOZMLuGj6UI4f1R8RwRjDiN/Na/G6135+Qos6MfurGkhyxLWoJ6Mi4/31+9lZVsfTi7dzytg8fj17HLWNrh5dm7mznr4GfaXCaN7XJVz13Fe+51MKs3jt5yf4lvGsbnAy6c8LgLaB2p/L7eGNlXv4/X/W+mrKXHnySL47xRoff879nwNw63cnMLkwi6OGZGuKRvloekepXnLWpAKmD89hZF4a3xqTyzXPr+Spxdt9ywmu3mX14K+dOYZpQ7M7PI8jPo7zi4bw/WmF7Kmo56rnvuKRT7fyyKdbfcc8+V/HtFgIRqlAaNBXKsxe/tnxvsePfbaN29/ZwNj8DE4em8erK3aRkeTgZ6eMDKhnHhcnDMlJ5bZzJ/KbV1dz9DBrlMiWg7VMGJTZkx9DHaY06CvVgy44ZgirdlVw6RNfcu8FRzFv7T5+VDQk6BuoRw3JZsH1p/RQK1Us0cplSvWgHx0zhFd+djxZKQlc9+IqmlweTo6RSU4qOmnQV6oHiQjHDM/h89+eypQh2YzKS+P4UaHNuFQqFJreUaoXZCQn8J+rTsBj8NWnVyoSNOgr1UtEhHiN9yrCNL2jlFIxRIO+UkrFEA36SikVQzToK6VUDNGgr5RSMUSDvlJKxRAN+kopFUOiurSyiFQDm7o80JIFVHZ5VHDHRuo4gFygNALv3Rf+HfvKOfV6R+9798Q5o+l6jzPGtL9SvDEmav8Ay4M49pFwHxup44L57BFu42Hz3lHwefR69/FzRtP17uz8h1N6560eODZSxwUjkm08nN67J86p1zt637snztkXrnfUp3eWmw5WfzncxfJnj0V6vWNLT1/vzs4f7T39RyLdgAiK5c8ei/R6x5aevt4dnj+qe/pKKaXCK9p7+uowJiI1XexfKCKa8jhM6PWODhr0lVIqhkRV0I/FnkBXn/lwJyIzRORtv+cPiMh/RbBJPUqvt17vSIuqoK+UUqpnRV3Qj7WeAICIpIvIhyLylYh8LSJz7O3DRWSDiDwqIutEZIGIpES6vSo0er1jS7Rd76gL+jGqATjPGDMNOBX4h4h4F9YbAzxojJkAVADfj0wTe4yLlv8PkyPVkF6k17uZXu9evt66Rm50EOCvInIy4AEGA/n2vm3GmFX24xXA8F5vXc/aAYwXkSQgBZgJfB7ZJvU4vd56vSN2vaMx6MdiT+BiIA842hjjFJHtNH/uRr/j3Fg/KH2eiDiARmPMLhF5GVgLbANWRrZlvUKvt17viF3vaAz6sdgTyAIO2P8hTgWGRbpBvWACsAXAGPMb4DetDzDGzOjlNvUWvd56vSMmaoJ+LPYEvJ8ZeA54S0S+BpYDGyPasB4mIj8DrgV+GeGm9Cq93nq9iYLrHTVlGERkCvCoMWZ6pNvSW2LxM8cyvd6xJVqvd1SM3rF7Ai8Af4h0W3pLLH7mWKbXO7ZE8/WOmp6+UkqpnhcVPf1YICJDRORjEVlvT8S4zt6eIyLvi8hm++9+9vYjROQLEWkUkRtbnet6+xxrReQFEYmFEU59Spiv93X2tV4nIr+MwMdRXejG9b5YRNbYk7UW26kg77lmi8gmESkWkZvC3VYN+r3HBdxgjBkPHAdcLSLjgZuAD40xY4AP7ecAZVg3v/7ufxIRGWxvLzLGTATigQt65yOoIITrek8EfgpMB6YA54jI6N75CCoIwV7vbcApxphJwG3Y9e9FJB54EDgTGA9caJ8nbDTo9xJjTIkx5iv7cTWwAWuSxhzgafuwp4Fz7WMOGGOWAc52TucAUuzRAanA3p5tvQpWGK/3kcBSY0ydMcYFfAJ8r+c/gQpGN673YmNMub19CVBoP54OFBtjthpjmoAX7XOEjQb9CBCR4cBUYCmQb4wpsXfto3mmXruMMXuweoM7gRKg0hizoOdaq0IVyvXGGrp8koj0F5FU4CxgSE+1VYWuG9f7CuBd+/FgYJffvt32trDRoN/LRCQdeA34pTGmyn+fse6qd3pn3c4JzgFGAIOANBH5fz3UXBWiUK+3MWYD8DdgAfAesApr5qaKQsFeb3uy1hXAb3urjRr0e5GIJGD9h3jOGPO6vXm/iBTY+wuAA12c5jSseh0HjTFO4HXghJ5qs+q+MF1vjDGPG2OONsacDJQD3/RUm1X3BXu9RWQy8BgwxxhzyN68h5a/yRXa28JGg34vsavqPQ5sMMb802/XXOAy+/FlwJtdnGoncJyIpNrnnImVP1RRJIzXGxEZYP89FCuf/3x4W6tCFez1tq/l68Alxhj/L/FlwBgRGSEiiViDNOaGta06Tr93iMi3gM+Ar7Eq7QHcjJX3exkYilV36IfGmDIRGYg1ZTvTPr4GGG+MqRKRW4EfYY0YWAn8xBjjX7hJRViYr/dnQH+sm7y/MsZ82KsfRnWpG9f7MawyyjvsY13GmCL7XGcB/4s1Mu8JY8wdYW2rBn2llIodmt5RSqkYokFfKaViiAZ9pZSKIRr0lVIqhmjQV0qpGKJBXyk/IuIWkVV2pcTVInKDiHT6cyIiw0Xkot5qo1Kh0KCvVEv1xpijjDETgNOxqh3e0sVrhgMa9FWfoOP0lfIjIjXGmHS/5yOxZknmYi1o/SyQZu++xhizWESWYFXD3IZVSfE+4C5gBpAEPGiM+b9e+xBKdUKDvlJ+Wgd9e1sFMA6oBjzGmAYRGQO8YIwpEpEZwI3GmHPs468EBhhjbheRJGARcL4xZlsvfhSl2uWIdAOU6kMSgAdE5CisSpdjOzhuFjBZRH5gP88CxmD9JqBURGnQV6oTdnrHjVUd8RZgP9YKVnFAQ0cvA35hjJnfK41UKgh6I1epDohIHvAv4AG7FnoWUGKM8QCXYBXEAivtk+H30vnAz+1Su4jIWBFJQ6kooD19pVpKEZFVWKkcF9aNW2+p3IeA10TkUqwFTWrt7WsAt4isBp4C7sUa0fOVXXL3IPYyeUpFmt7IVUqpGKLpHaWUiiEa9JVSKoZo0FdKqRiiQV8ppWKIBn2llIohGvSVUiqGaNBXSqkYokFfKaViyP8HgvQz00xaSs4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "highs.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2017-07-02</th>\n",
       "      <td>268.066486</td>\n",
       "      <td>271.124595</td>\n",
       "      <td>264.819730</td>\n",
       "      <td>268.202162</td>\n",
       "      <td>2.185035e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-09</th>\n",
       "      <td>261.337024</td>\n",
       "      <td>262.872917</td>\n",
       "      <td>259.186190</td>\n",
       "      <td>261.062083</td>\n",
       "      <td>1.337349e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-16</th>\n",
       "      <td>196.193214</td>\n",
       "      <td>199.204405</td>\n",
       "      <td>192.722321</td>\n",
       "      <td>195.698393</td>\n",
       "      <td>2.986756e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-23</th>\n",
       "      <td>212.351429</td>\n",
       "      <td>215.779286</td>\n",
       "      <td>209.126310</td>\n",
       "      <td>212.783750</td>\n",
       "      <td>4.298593e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-30</th>\n",
       "      <td>203.496190</td>\n",
       "      <td>205.110357</td>\n",
       "      <td>201.714048</td>\n",
       "      <td>203.309524</td>\n",
       "      <td>1.581729e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-02-16</th>\n",
       "      <td>255.021667</td>\n",
       "      <td>257.255238</td>\n",
       "      <td>252.679762</td>\n",
       "      <td>255.198452</td>\n",
       "      <td>2.329087e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-02-23</th>\n",
       "      <td>265.220833</td>\n",
       "      <td>267.263690</td>\n",
       "      <td>262.948512</td>\n",
       "      <td>265.321905</td>\n",
       "      <td>1.826094e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-01</th>\n",
       "      <td>236.720536</td>\n",
       "      <td>238.697500</td>\n",
       "      <td>234.208750</td>\n",
       "      <td>236.373988</td>\n",
       "      <td>2.198762e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-08</th>\n",
       "      <td>229.923571</td>\n",
       "      <td>231.284583</td>\n",
       "      <td>228.373810</td>\n",
       "      <td>229.817619</td>\n",
       "      <td>1.628910e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-15</th>\n",
       "      <td>176.937521</td>\n",
       "      <td>179.979487</td>\n",
       "      <td>172.936239</td>\n",
       "      <td>176.332821</td>\n",
       "      <td>4.259828e+06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>142 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close        Volume\n",
       "Date                                                                    \n",
       "2017-07-02  268.066486  271.124595  264.819730  268.202162  2.185035e+06\n",
       "2017-07-09  261.337024  262.872917  259.186190  261.062083  1.337349e+06\n",
       "2017-07-16  196.193214  199.204405  192.722321  195.698393  2.986756e+06\n",
       "2017-07-23  212.351429  215.779286  209.126310  212.783750  4.298593e+06\n",
       "2017-07-30  203.496190  205.110357  201.714048  203.309524  1.581729e+06\n",
       "...                ...         ...         ...         ...           ...\n",
       "2020-02-16  255.021667  257.255238  252.679762  255.198452  2.329087e+06\n",
       "2020-02-23  265.220833  267.263690  262.948512  265.321905  1.826094e+06\n",
       "2020-03-01  236.720536  238.697500  234.208750  236.373988  2.198762e+06\n",
       "2020-03-08  229.923571  231.284583  228.373810  229.817619  1.628910e+06\n",
       "2020-03-15  176.937521  179.979487  172.936239  176.332821  4.259828e+06\n",
       "\n",
       "[142 rows x 5 columns]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.resample('W').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Close</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2017-07-02</th>\n",
       "      <td>268.202162</td>\n",
       "      <td>293.73</td>\n",
       "      <td>253.23</td>\n",
       "      <td>8.084631e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-09</th>\n",
       "      <td>261.062083</td>\n",
       "      <td>285.00</td>\n",
       "      <td>231.25</td>\n",
       "      <td>2.246746e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-16</th>\n",
       "      <td>195.698393</td>\n",
       "      <td>240.33</td>\n",
       "      <td>130.26</td>\n",
       "      <td>5.017750e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-23</th>\n",
       "      <td>212.783750</td>\n",
       "      <td>249.40</td>\n",
       "      <td>153.25</td>\n",
       "      <td>7.221637e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-07-30</th>\n",
       "      <td>203.309524</td>\n",
       "      <td>229.99</td>\n",
       "      <td>178.03</td>\n",
       "      <td>2.657305e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-02-16</th>\n",
       "      <td>255.198452</td>\n",
       "      <td>290.00</td>\n",
       "      <td>216.31</td>\n",
       "      <td>3.912867e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-02-23</th>\n",
       "      <td>265.321905</td>\n",
       "      <td>287.13</td>\n",
       "      <td>242.36</td>\n",
       "      <td>3.067838e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-01</th>\n",
       "      <td>236.373988</td>\n",
       "      <td>278.13</td>\n",
       "      <td>209.26</td>\n",
       "      <td>3.693920e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-08</th>\n",
       "      <td>229.817619</td>\n",
       "      <td>253.01</td>\n",
       "      <td>196.00</td>\n",
       "      <td>2.736569e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-15</th>\n",
       "      <td>176.332821</td>\n",
       "      <td>208.65</td>\n",
       "      <td>90.00</td>\n",
       "      <td>4.983998e+08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>142 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 Close    High     Low        Volume\n",
       "Date                                                \n",
       "2017-07-02  268.202162  293.73  253.23  8.084631e+07\n",
       "2017-07-09  261.062083  285.00  231.25  2.246746e+08\n",
       "2017-07-16  195.698393  240.33  130.26  5.017750e+08\n",
       "2017-07-23  212.783750  249.40  153.25  7.221637e+08\n",
       "2017-07-30  203.309524  229.99  178.03  2.657305e+08\n",
       "...                ...     ...     ...           ...\n",
       "2020-02-16  255.198452  290.00  216.31  3.912867e+08\n",
       "2020-02-23  265.321905  287.13  242.36  3.067838e+08\n",
       "2020-03-01  236.373988  278.13  209.26  3.693920e+08\n",
       "2020-03-08  229.817619  253.01  196.00  2.736569e+08\n",
       "2020-03-15  176.332821  208.65   90.00  4.983998e+08\n",
       "\n",
       "[142 rows x 4 columns]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.resample('W').agg({'Close':'mean', 'High':'max', 'Low':'min','Volume':'sum'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "d7024f173fe9a6b42f3bd423e7f51ecf48ecdc05bb515ab96f917ee570e504c6"
  },
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
